home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / NETFLX3 / OEMSETUP.INF < prev   
INI File  |  1996-07-31  |  28KB  |  855 lines

  1. [Identification]
  2.     OptionType = NetAdapter
  3.  
  4. [PlatformsSupported]
  5.     PCI
  6.     EISA
  7.  
  8. [Options]
  9.     CpqNF3
  10.  
  11.  
  12. ;
  13. ;  File names, etc.
  14. ;
  15.  
  16. [FileConstants]
  17. UtilityInf         = "UTILITY.INF"
  18. subroutineinf      = "SUBROUTN.INF"
  19. SoftwareType       = "driver"
  20. MS_InfName         = "oemnadvt.inf"
  21. Exit_Code          = 0
  22. NETFLEX3_E_1BYTE   =   15798542
  23. NETFLEX3_E_4BYTE   =   552669454
  24. NETFLEX3_2_E_4BYTE = 1089540366
  25.  
  26.  
  27. ;
  28. ; EventLog Message Files
  29. ;
  30.  
  31. NetEventDLL     = "%SystemRoot%\System32\Netevent.dll;%SystemRoot%\System32\Drivers\NetFlx3.Sys"
  32. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  33.  
  34.  
  35. ;
  36. ; Product Info
  37. ;
  38.  
  39. Manufacturer        = "Compaq"
  40. ProductMajorVersion = "3"
  41. ProductMinorVersion = "5"
  42. ProductVersion      = $(ProductMajorVersion)"."$(ProductMinorVersion)
  43.  
  44.  
  45. ;
  46. ; Software
  47. ;
  48.  
  49. ProductSoftwareName      = "CpqNF3"
  50. ProductSoftwareImagePath = "\SystemRoot\System32\Drivers\NetFlx3.sys"
  51. NetRuleSoftwareType      = "CpqNF3Sys ndisDriver CpqNF3Driver"
  52.  
  53. NetRuleSoftwareUse      = $(SoftwareType)
  54. NetRuleSoftwareBindForm = """CpqNF3Sys"" yes no container"
  55. NetRuleSoftwareClass    = {"CpqNF3Driver basic"}
  56. NetRuleSoftwareBindable = {"CpqNF3Driver CpqNF3Adapter non exclusive 100"}
  57.  
  58.  
  59. ;
  60. ; Hardware
  61. ;
  62.  
  63. ProductHardwareName     = "CpqNF3"
  64. NetRuleHardwareType     = "CpqNF3 CpqNF3Adapter"
  65. NetRuleHardwareBindForm = " yes yes container"
  66. NetRuleHardwareClass    = {"CpqNF3Adapter basic"}
  67.  
  68.  
  69. ;
  70. ; Registry Key
  71. ;
  72.  
  73. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  74. ProductKeyNetRulesName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion\NetRules"
  75. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  76. NetCardKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\Windows NT\CurrentVersion\NetworkCards"
  77.  
  78.  
  79. [GeneralConstants]
  80. from               = ""
  81. to                 = ""
  82. ExitCodeOk         = 0
  83. ExitCodeCancel     = 1
  84. ExitCodeFatal      = 2
  85. KeyNull            = ""
  86. MAXIMUM_ALLOWED    = 33554432
  87. RegistryErrorIndex = NO_ERROR
  88. KeyProduct         = ""
  89. KeyParameters      = ""
  90. TRUE               = 1
  91. FALSE              = 0
  92. NoTitle            = 0
  93. ExitState          = "Active"
  94. OldVersionExisted  = $(FALSE)
  95. DriverPath         = $(!STF_NTPATH)\drivers
  96. ;AdapterList       = {{}}
  97. AddAdapterCount    = 0
  98. CPL_FileName       = $(!STF_WINDOWSSYSPATH)\NETFLX3.CPL
  99.  
  100. [date]
  101.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  102.  
  103. [adapter]
  104.     AdapterList = {} ? $(!NETFLEX3_HANDLE)  NetFlex3FindAdapter
  105.  
  106.  
  107. ;---------------------------------------------------------------------------
  108. ; 1. Identify
  109. ;
  110. ; DESCRIPTION:   To verify that this INF deals with the same type of options
  111. ;                as we are choosing currently.
  112. ;
  113. ; INPUT:         None
  114. ;
  115. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL
  116. ;                $($R1): Option Type (COMPUTER ...)
  117. ;                $($R2): Diskette description
  118. ;---------------------------------------------------------------------------
  119. [Identify]
  120.     read-syms Identification
  121.     set Status     = STATUS_SUCCESSFUL
  122.     set Identifier = $(OptionType)
  123.     set Media      = #("Source Media Descriptions", 1, 1)
  124.     Return $(Status) $(Identifier) $(Media)
  125.  
  126. ;------------------------------------------------------------------------
  127. ; 2. ReturnOptions:
  128. ;
  129. ; DESCRIPTION:   To return the option list supported by this INF and the
  130. ;                localised text list representing the options.
  131. ;
  132. ;
  133. ; INPUT:         $($0):  Language used. ( ENG | FRN | ... )
  134. ;
  135. ; OUTPUT:        $($R0): STATUS: STATUS_SUCCESSFUL |
  136. ;                                STATUS_NOLANGUAGE
  137. ;                                STATUS_FAILED
  138. ;                                STATUS_NOTSUPPORTED
  139. ;
  140. ;                $($R1): Option List
  141. ;                $($R2): Option Text List
  142. ;------------------------------------------------------------------------
  143. [ReturnOptions]
  144.     set Status        = STATUS_FAILED
  145.     set OptionList     = {}
  146.     set OptionTextList = {}
  147.     set LanguageList = ^(LanguagesSupported, 1)
  148.  
  149.     Debug-Output "Running Return Options"
  150.  
  151.     Ifcontains(i) $($0) in $(LanguageList)
  152.         ifstr(i) $($1) == ""
  153.            goto returnoptions
  154.         endif
  155.         set PlatformList = ^(PlatformsSupported, 1)
  156.         Ifcontains(i) $($1) in $(PlatformList)
  157.            goto returnoptions
  158.         else
  159.            set Status = STATUS_NOTSUPPORTED
  160.            goto finish_ReturnOptions
  161.         endif
  162.     else
  163.         set Status = STATUS_NOLANGUAGE
  164.         goto finish_ReturnOptions
  165.     endif
  166.  
  167. returnoptions = +
  168.     set OptionList     = ^(Options, 1)
  169.     set OptionTextList = ^(OptionsText$($0), 1)
  170.     set Status         = STATUS_SUCCESSFUL
  171.  
  172. finish_ReturnOptions = +
  173.     Debug-Output "Status: "$(Status)
  174.     Debug-Output "OptionList: "$(OptionList)
  175.     Debug-Output "OptionTextList: "$(OptionTextList)
  176.  
  177.     Return $(Status) $(OptionList) $(OptionTextList)
  178.  
  179. ;------------------------------------------------------------------------
  180. ;
  181. ; 3. InstallOption:
  182. ;
  183. ;      This section is shelled to by main installation processing
  184. ;      or by NCPASHEL.INF during reconfig, removal, update, etc.
  185. ;
  186. ;
  187. ; FUNCTION:  To copy files representing Options
  188. ;            To configure the installed option
  189. ;            To update the registry for the installed option
  190. ;
  191. ; INPUT:     $($0):  Language to use
  192. ;            $($1):  OptionID to install
  193. ;            $($2):  SourceDirectory
  194. ;            $($3):  AddCopy  (YES | NO)
  195. ;            $($4):  DoCopy   (YES | NO)
  196. ;            $($5):  DoConfig (YES | NO)
  197. ;
  198. ; OUTPUT:    $($R0): STATUS: STATUS_SUCCESSFUL |
  199. ;                            STATUS_NOLANGUAGE |
  200. ;                            STATUS_USERCANCEL |
  201. ;                            STATUS_FAILED
  202. ;
  203. ;------------------------------------------------------------------------
  204.  
  205. [InstallOption]
  206.     set Option   = $($1)
  207.     set SrcDir   = $($2)
  208.     set AddCopy  = $($3)
  209.     set DoCopy   = $($4)
  210.     set DoConfig = $($5)
  211.     set LanguageList = ^(LanguagesSupported, 1)
  212.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  213.         Return STATUS_NOLANGUAGE
  214.     endif
  215.     set !DebugOutputControl = 1
  216.  
  217.     Debug-Output "Starting Install option..."
  218.  
  219.     read-syms GeneralConstants
  220.     read-syms FileConstants
  221.     read-syms DialogConstants$(!STF_LANGUAGE)
  222.  
  223. ; *******************************************************************
  224. ; 19 April 1996, PJM
  225. ; Removed Helpdir reference as we are no longer respnsible for
  226. ; copying generic help files.
  227. ; ----------------
  228. ;    Split-String $(SrcDir), "\", DiskLocInfo
  229. ;    QueryListSize Size $(DiskLocInfo)
  230. ;    ifint $(Size) >= 5
  231. ;      ifstr(i) *($(DiskLocInfo), $(Size)) == "\"
  232. ;        set HelpDir = $(SrcDir)"..\..\"
  233. ;      else
  234. ;        set HelpDir = $(SrcDir)"\..\..\"
  235. ;      endif
  236. ;    else
  237. ;      set HelpDir = $(SrcDir)
  238. ;    endif
  239. ; *******************************************************************
  240.  
  241.     Debug-Output "SrcDir = "$(SrcDir)
  242.     Debug-Output "DoCopy = "$(DoCopy)
  243.     Debug-Output "Add Copy = "$(AddCopy)
  244.     Debug-Output "DoConfig = "$(DoConfig)
  245.  
  246.     Debug-Output "NTN_InstallMode = "$(!NTN_InstallMode)
  247.     Debug-Output "NTN_InstallPhase = "$(!NTN_InstallPhase)
  248.     Debug-Output "NTN_Origination = "$(!NTN_Origination)
  249.     Debug-Output "STF_INSTALL_MODE = "$(!STF_INSTALL_MODE)
  250.     Debug-Output "SIF_GUI_UNATTENDED = "$(!SIF_GUI_UNATTENDED)
  251.     Debug-Output "STF_UNATTENDED = "$(!STF_UNATTENDED)
  252.  
  253.     Debug-Output "About to detect NT version"
  254.     read-syms NtVer
  255.     detect    NtVer
  256.     Debug-Output "Back from NT version detect"
  257.     Debug-Output "Ver ="$(NtVersion)
  258.     Split-String $(NtVersion) "{}," TempList
  259. ;
  260. ;   MainVer number will wither be 3 or 4
  261. ;
  262.     set MainVerNumber = *($(TempList),2)
  263.  
  264.     Debug-Output "MainVerNumber = "$(MainVerNumber)
  265.  
  266. ;    debug-output "HelpDir  = "$(HelpDir)
  267.  
  268.     Debug-Output "STF_CONTEXTINFNAME is:  "$(STF_CONTEXTINFNAME)
  269.     Debug-Output $(STF_CONTEXTINFNAME)": STF_CWDIR is: "$(!STF_CWDIR)
  270.     Debug-Output $(STF_CONTEXTINFNAME)": STF_LANGUAGE is: "$(!STF_LANGUAGE)
  271.     Debug-Output $(STF_CONTEXTINFNAME)": Option = "$(Option)
  272.     set-subst LF = "\n"
  273.  
  274.     ifstr(i) $(!NTN_Origination) == "NCPA"
  275.         set Continue = $(OK)
  276.     endif
  277.     read-syms FileConstants$(!STF_LANGUAGE)
  278.     detect date
  279.     set-title  $(FunctionTitle)
  280.     set to   = Begin
  281.     set from = Begin
  282.     set CommonStatus = STATUS_SUCCESSFUL
  283.     EndWait
  284.  
  285. Begin = +
  286.  
  287.     ; Lets see if we can get the INF name from registry.  Otherwise we
  288.     ; will use the STF_CONTEXTINFNAME value....
  289.     ;    SOFTWARE\Compaq\CpqNf3\CurrentVersion\NetRules Key, InfName Value
  290.  
  291.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) +
  292.                                   $(MAXIMUM_ALLOWED) +
  293.                                   KeyProduct
  294.     Ifstr $(KeyProduct) != $(KeyNull)
  295.         Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  296.         CloseRegKey $(KeyProduct)
  297.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  298.             set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
  299.             Debug-Output "ShellErrorSection = "$(ShellErrorSection)
  300.             goto ShellCodeError
  301.         endif
  302.  
  303.         Debug-Output "Inf Name from registry is:"$($R0)
  304.  
  305.         set UG_InfName = $($R0)
  306.         set UG_FileName = $(!STF_WINDOWSSYSPATH)\$(UG_InfName)
  307.     else
  308.     Debug-Output "Inf Name does not exist in the registry"
  309.         ; use the STF_CONTEXTINFNAME
  310.         set UG_FileName = $(STF_CONTEXTINFNAME)
  311.         set UG_InfName = $(UG_FileName)
  312.         ; chop off the path part and save the name of the file in UG_InfName
  313.         Split-String $(UG_InfName) "\" TempList
  314.         ForListDo $(TempList)
  315.             set UG_InfName = $($)
  316.         EndForListDo 
  317.     endif
  318.  
  319.     ; the name of the inf file with no path
  320.     Debug-Output "UG_InfName = "$(UG_InfName)
  321.     ; the complete path and name of the inf file
  322.     Debug-Output "UG_FileName = "$(UG_FileName)
  323.  
  324.     Debug-Output "Install mode:"$(!NTN_InstallMode)
  325.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  326.         set StartLabel = removeadapter
  327.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  328.         set StartLabel = UpgradeSoftware
  329.     else-Ifstr(i) $(!NTN_InstallMode) == Bind
  330.         set StartLabel = bindingadapter
  331.     else-Ifstr(i) $(!NTN_InstallMode) == Configure
  332.         set CommonStatus = STATUS_REBOOT
  333.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  334.             Debug-Output "Cannot configure the Compaq NetFlex-3 driver software."
  335.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  336.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  337.                 Debug-Output "ShellCode error: cannot get an error string."
  338.                 goto ShellCodeError
  339.             endif
  340.             set Error = $($R0)
  341.             set from = end
  342.             set to = end
  343.             goto nonfatal
  344.         endif
  345.         set CommonStatus = STATUS_REBOOT
  346.         set StartLabel = ConfigureAdapter
  347.     else
  348.         set StartLabel = InstallAdapter
  349.         set OEM_ABANDON_OPTIONS = {}
  350.         set OEM_ABANDON_SOFTWARE = FALSE
  351.         set OEM_ABANDON_ON = TRUE
  352.     endif
  353.     set from = $(fatal)
  354.     set to = $(fatal)
  355.     goto $(StartLabel)
  356.  
  357.  
  358. ;-----------------------------------------------
  359. ; Binding section
  360. ;-----------------------------------------------
  361. bindingadapter =+
  362.     set Error = "Binding: Sorry, not yet implemented."
  363.     goto fatal
  364.  
  365.  
  366. ;-----------------------------------------------
  367. ; Removeadapter section
  368. ;-----------------------------------------------
  369. removeadapter = +
  370.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  371.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  372.             $(ProductSoftwareName)
  373.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  374.             Debug-Output "ShellCode error - RemoveSoftwareComponent"
  375.             goto ShellCodeError
  376.         endif
  377.         set RegistryErrorIndex = $($R0)
  378.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  379.             goto fatalregistry
  380.         endif
  381.      else
  382.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  383.                $(ProductSoftwareName), $(!NTN_RegBase)
  384.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  385.            Debug-Output "ShellCode error - RemoveHardwareComponent"
  386.            goto ShellCodeError
  387.         endif
  388.         set RegistryErrorIndex = $($R0)
  389.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  390.            goto fatalregistry
  391.         endif
  392.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  393.  
  394.     Ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  395.         Debug-Output "The software component has been removed"
  396.         AddFileToDeleteList $(UG_FileName)
  397.         AddFileToDeleteList $(CPL_FileName)
  398.     else
  399.         CloseRegKey $(KeyProduct)
  400.     endif
  401.  
  402.     endif
  403.     goto end
  404.  
  405.  
  406. ;-----------------------------------------------
  407. ; Installation Section
  408. ;-----------------------------------------------
  409.  
  410. InstallAdapter = +
  411.     Debug-Output $(STF_CONTEXTINFNAME)": Install Adapter"
  412.  
  413.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  414.     Ifstr $(KeyProduct) != $(KeyNull)
  415.         CloseRegKey $(KeyProduct)
  416.         ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  417.             Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  418.                 $(ProductVersion)
  419.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  420.                 goto ShellCodeError
  421.             endif
  422.             goto end
  423.         else
  424. ;            set OldVersionExisted = $(TRUE)
  425.             set OldVersionExisted = $(FALSE)
  426.         endif
  427.     endif
  428.  
  429.     Debug-Output "Old Version Existed: "$(OldVersionExisted)
  430.     ifint $(OldVersionExisted) == $(FALSE)
  431.       install "Install-update"
  432. ;      install "AddIcon"    
  433.     endif
  434.  
  435.  
  436. ;
  437. ; If the file copy worked, first test what ver of nt is being used, then test custom/express, then test primary/secondary
  438. ;
  439.  
  440.     Debug-Output "About to test the install mode"
  441.     ifstr(i) $(STF_INSTALL_OUTCOME) == "STF_SUCCESS"
  442.         ifstr(i) $(MainVerNumber) == "3"
  443.             ifstr(i) $(!STF_INSTALL_MODE) == "CUSTOM"
  444.                 ifstr(i) $(!NTN_InstallPhase) == "primary"
  445.                     Debug-Output "V3 Custom Primary Install Mode, launching NETFLX3.EXE /I /S3 /N$(UG_FileName)"
  446.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /S3 /N$(UG_FileName)
  447.                 else
  448.                     Debug-Output "V3 Custom Secondary Install Mode, launching NETFLX3.EXE /I /N$(UG_FileName)"
  449.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /N$(UG_FileName)
  450.                 endif
  451.             else
  452.                 ifstr(i) $(!NTN_InstallPhase) == "primary"
  453.                     Debug-Output "V3 Express Primary Install Mode, launching NETFLX3.EXE /I /E /S3 /N$(UG_FileName)"
  454.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S3 /N$(UG_FileName)
  455.                 else
  456.                     Debug-Output "V3 Express Secondary Install Mode    *****!!! This case should never happen !!!*****"
  457.                     ; can't do EXPRESS in secondary phase
  458.                 endif
  459.             endif
  460.         else
  461.             ifstr(i) $(!STF_INSTALL_MODE) == "CUSTOM"
  462.                 ifstr(i) $(!NTN_InstallPhase) == "primary"
  463.                     Debug-Output "V4 Custom Primary Install Mode, launching NETFLX3.EXE /I /E /S4 /N$(UG_FileName)"
  464.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S4 /N$(UG_FileName)
  465.                 else
  466.                     Debug-Output "V4 Custom Secondary Install Mode, launching NETFLX3.EXE /I /N$(UG_FileName)"
  467.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /N$(UG_FileName)
  468.                 endif
  469.             else
  470.                 ifstr(i) $(!NTN_InstallPhase) == "primary"
  471.                     Debug-Output "V4 Express Primary Install Mode, launching NETFLX3.EXE /I /E /S4 /N$(UG_FileName)"
  472.                     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /I /E /S4 /N$(UG_FileName)
  473.                 else
  474.                     Debug-Output "V4 Express Secondary Install Mode    *****!!! This case should never happen !!!*****"
  475.                     ; can't do EXPRESS in secondary phase
  476.                 endif
  477.             endif
  478.         endif
  479.         ifstr(i) $(ExitCode) != "0"
  480.             debug-output "need to reboot"
  481.             set CommonStatus = STATUS_SUCCESSFUL
  482.         else
  483.             debug-output "reboot NOT needed"
  484.             set CommonStatus = STATUS_NO_EFFECT
  485.         endif
  486.     endif
  487.  
  488.     goto successful
  489.  
  490. ;-----------------------------------------------
  491. ; Configuration Section
  492. ;-----------------------------------------------
  493. ConfigureAdapter = +
  494.     Debug-Output $(STF_CONTEXTINFNAME)": Configure Adapter"
  495.  
  496.     Debug-Output "Configure mode, Spawning NETFLX3.EXE /C"
  497.     RunProgram ExitCode "Compaq NT Support Software Diskette" "" netflx3.exe /C
  498.     ifstr(i) $(ExitCode) != "0"
  499.     debug-output "need to reboot"
  500.         set CommonStatus = STATUS_REBOOT
  501.     else
  502.     debug-output "reboot NOT needed"
  503.         set CommonStatus = STATUS_NO_EFFECT
  504.     endif
  505.     goto successful
  506.  
  507.  
  508. ;-----------------------------------------------
  509. ; Upgrade Software section
  510. ;-----------------------------------------------
  511.  
  512. UpgradeSoftware = +
  513.     ;
  514.     ; First determine whether we want to do upgrade or update for software
  515.     ; or hardware component. Then we will determine whether the Mode is
  516.     ; update or upgrade.
  517.     ;
  518.     ; If the same version of the product existed in the registry, we do
  519.     ; update. Otherwise, we will do a upgrade
  520.     ;
  521.     Debug-Output $(STF_CONTEXTINFNAME)": UpgradeSoftware"
  522.     Debug-Output $(STF_CONTEXTINFNAME)": ProductKeyName ="$(ProductKeyName)
  523.     Debug-Output $(STF_CONTEXTINFNAME)": !NTN_RegBase   ="$(!NTN_RegBase)
  524.  
  525.     ;
  526.     ; Upgrade software component
  527.     ;
  528.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  529.  
  530.     Ifstr $(KeyProduct) != $(KeyNull)
  531.         Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  532.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  533.             set ShellErrorSection = UtilityInf:GetFileNameFromRegistry
  534.             goto ShellCodeError
  535.         endif
  536.     Debug-Output "Inf Name from registry is:"$($R0)
  537.         set UG_InfName = $($R0)
  538.         Debug-Output "UG_InfName = "$(UG_InfName)
  539.  
  540. ; *******************************************************************
  541. ; 19 April 1996, PJM
  542. ; Removed Helpdir reference as we are no longer respnsible for
  543. ; copying generic help files.
  544. ; -----------
  545. ;        ifstr(i) $(UG_InfName) != ""
  546. ;            ;
  547. ;            ; set the HelpDir based on location of the NetFlx3 Directory.
  548. ;            ;
  549. ;            Split-String $(SrcDir), "\", DiskLocInfo
  550. ;            QueryListSize Size $(DiskLocInfo)
  551. ;            ifint $(Size) >= 5
  552. ;                ifstr(i) *($(DiskLocInfo), $(Size)) == "\"
  553. ;                    set HelpDir = $(SrcDir)"..\..\"
  554. ;                else
  555. ;                    set HelpDir = $(SrcDir)"\..\..\"
  556. ;                endif
  557. ;            else
  558. ;                set HelpDir = $(SrcDir)
  559. ;            endif
  560. ;            debug-output "HelpDir  = "$(HelpDir)
  561. ; *******************************************************************
  562.  
  563.             install "Install-Update"
  564. ;        install "AddIcon"
  565.             ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  566.                goto Fatal
  567.             endif
  568.     
  569.             set CommonStatus = STATUS_REBOOT
  570.  
  571.             ; Upgrade the version number
  572.             ;
  573.             SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  574.             SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  575.  
  576.             ;
  577.             ; do nothing for update
  578.             ;
  579.             CloseRegKey $(KeyProduct)
  580.         else
  581.             goto fatalregistry
  582.         endif
  583.     endif
  584.  
  585.     goto end
  586.  
  587.  
  588.  
  589. ;-----------------------------------------------
  590. ; Success completion 
  591. ;-----------------------------------------------
  592.  
  593. successful = +
  594. ;
  595. ; If the STF_CONTEXTINFNAME is not equal to the UG_InfName variable that was pulled out of the registry then
  596. ; delete the STF_CONTEXINFTNAME because it is just a second copy of UG_InfName that we don't need afterwards.
  597. ; It is not possible to stop NCPA from copying the oemsetup.inf to STF_CONTEXINFTNAME when we hit the install section
  598. ; so we just erase it. (unless there was no inf name in the registry, then we keep the file)
  599.  
  600.     ifstr(i) $(STF_CONTEXTINFNAME) != $(UG_FileName)
  601.         AddFileToDeleteList $(STF_CONTEXTINFNAME)
  602.     endif
  603.  
  604.     goto end
  605.  
  606.  
  607. ;-----------------------------------------------
  608. ; Section called when we are abandoning
  609. ;-----------------------------------------------
  610.  
  611. abandon = +
  612.     ForListDo $(OEM_ABANDON_OPTIONS)
  613.         Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  614.             $(ProductSoftwareName), $($)
  615.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  616.             Debug-Output "ShellCode error"
  617.             goto ShellCodeError
  618.         endif
  619.         set RegistryErrorIndex = $($R0)
  620.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  621.             goto fatalregistry
  622.         endif
  623.     EndForListDo
  624.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  625.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  626.             $(ProductSoftwareName), FALSE
  627.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  628.             Debug-Output "ShellCode error"
  629.             goto ShellCodeError
  630.         endif
  631.         set RegistryErrorIndex = $($R0)
  632.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  633.             goto fatalregistry
  634.         endif
  635.     endif
  636.     goto end
  637.  
  638.  
  639. ;-----------------------------------------------
  640. ; Section used when we need to issue a warning
  641. ;-----------------------------------------------
  642.  
  643. warning = +
  644.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  645.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  646.         goto ShellCodeError
  647.     endif
  648.     ifstr(i) $($R1) == "OK"
  649.         goto $(to)
  650.     else-ifstr(i) $($R1) == "CANCEL"
  651.         goto $(from)
  652.     else
  653.         goto end
  654.     endif
  655.  
  656. nonfatal = +
  657.     ifstr(i) $(Error) == ""
  658.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  659.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  660.             goto ShellCodeError
  661.         endif
  662.         set Error = $($R0)
  663.     endif
  664.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
  665.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  666.         goto ShellCodeError
  667.     endif
  668.     ifstr(i) $($R1) == "OK"
  669.         goto $(from)
  670.     else
  671.         goto end
  672.     endif
  673.  
  674. fatalregistry = +
  675.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  676.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  677.         goto ShellCodeError
  678.     endif
  679.     set Error = $($R0)
  680.     goto fatal
  681.  
  682. fatal = +
  683.     ifstr(i) $(Error) == ""
  684.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  685.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  686.             goto ShellCodeError
  687.         endif
  688.         set Error = $($R0)
  689.     endif
  690.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  691.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  692.         goto ShellCodeError
  693.     endif
  694.     goto setfailed
  695.  
  696. ShellCodeError = +
  697.     Debug-Output $(STF_CONTEXTINFNAME)": Shell error, $(ShellErrorSection)"
  698.     set DlgType      = "MessageBox"
  699.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  700.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  701.     set STF_MB_TYPE  = 1
  702.     set STF_MB_ICON  = 3
  703.     set STF_MB_DEF   = 1
  704.     ui start "Error Message"
  705.     goto setfailed
  706.  
  707.  
  708. setfailed = +
  709.     set CommonStatus = STATUS_FAILED
  710.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  711.         set OEM_ABANDON_ON = FALSE
  712.         goto abandon
  713.     endif
  714.     goto end
  715. end = +
  716.     goto term
  717. term = +
  718.     Return $(CommonStatus)
  719.  
  720. [Install-Update]
  721.    set STF_VITAL        = ""
  722.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  723.    AddSectionFilesToCopyList Files-Driver $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  724.    AddSectionFilesToCopyList Files-DLL $(SrcDir) $(!STF_WINDOWSSYSPATH)
  725.    AddSectionFilesToCopyList Files-INF $(SrcDir) $(!STF_WINDOWSSYSPATH)
  726. ;   AddSectionFilesToCopyList Files-HLP $(HelpDir) $(!STF_WINDOWSSYSPATH)
  727.    AddSectionFilesToCopyList Files-APP $(SrcDir) $(!STF_WINDOWSSYSPATH)
  728.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  729. Debug-Output "About to copy"
  730.    CopyFilesInCopyList
  731. Debug-Output "copied"
  732.    Exit
  733.  
  734. [AddIcon]
  735.     set ProgGroup = "Administrative Tools"
  736.     set AppName   = "NetFlex-3 Setup Utility"
  737.     set CmdLine   = $(!STF_WINDOWSSYSPATH)"\netflx3.exe"
  738.  
  739.     ;
  740.     ; Remove the existing item -- assuming it's in the Administrative Tools
  741.     ;                             group
  742.     ;
  743.     RemoveProgmanItem $(ProgGroup) +
  744.               $(AppName)
  745.  
  746.     ;
  747.     ; Re-add the item.
  748.     ;
  749.     CreateProgmanItem $(ProgGroup) +
  750.               $(AppName)   +
  751.               $(CmdLine)   +
  752.               $(CmdLine)   +
  753.               0
  754.     exit
  755.  
  756. [NtVer]
  757.     NtVersion = "" ? $(!LIBHANDLE) GetWindowsNtVersion
  758.  
  759.  
  760.  
  761. [Source Media Descriptions]
  762. ;    1  = "Windows NT Setup Disk #1"  , TAGFILE = disk1
  763. ;    2  = "Windows NT Workstation CD-ROM" , TAGFILE = cdrom.w
  764.     3  = "Compaq NT Support Software Disk"
  765.  
  766. [Signature]
  767.     FileType = MICROSOFT_DRVLIB_FILE
  768.  
  769. [GetSignature]
  770.     read-syms Signature
  771.     return $(FileType)
  772.  
  773. [ProductType]
  774. STF_PRODUCT  = Winnt
  775. STF_PLATFORM = I386
  776.  
  777. [Files-Inf]
  778. 3, oemsetup.inf, SIZE=1000, RENAME=$(UG_InfName)
  779.  
  780. [Files-DLL]
  781. 3, NetFlx3.DLL, SIZE=999
  782.  
  783. [Files-Driver]
  784. 3, NetFlx3.SYS, SIZE=999
  785.  
  786. [Files-APP]
  787. 3, NETFLX3.EX_, SIZE=999, DECOMPRESS, RENAME=NETFLX3.EXE
  788. 3, NETFLX3.HL_, SIZE=999, DECOMPRESS, RENAME=NETFLX3.HLP
  789. 3, NETFLX3.CP_, SIZE=999, DECOMPRESS, RENAME=NETFLX3.CPL
  790.  
  791. [LanguagesSupported]
  792.     ENG
  793.  
  794. [OptionsTextENG]
  795.     NetFlex3    = "Compaq NetFlex-3 Controller"
  796.  
  797. [FileConstantsENG]
  798.     ProCaption   = "Windows NT Setup"
  799.     ProCancel    = "Cance&l"
  800.     ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  801.                    "Are you sure you want to cancel copying files?"
  802.     ProCancelCap = "Network Setup Message"
  803.     ProText1     = "Copying:"
  804.     ProText2     = "To:"
  805.     FunctionTitle   = "Compaq NetFlex-3 Controller Setup"
  806.     ProductSoftwareDescription        = "Compaq NetFlex-3 NDIS 3.0 Miniport Driver"
  807.     ProductHardwareNetFlex3PDescription = "Compaq NetFlex-3/P Controller"
  808.     ProductHardwareNetFlex3EDescription = "Compaq NetFlex-3/E Controller"
  809.     CANNOT_FIND_ANY_CARD              = "Network card is not present in the system."
  810.     ProductSoftwareTitle              = "Compaq NetFlex-3 Driver"
  811.     ProductHardwareNetFlex3PTitle       = "NetFlex-3"
  812.     ProductHardwareNetFlex3ETitle       = "NetFlex-3"
  813.     ProductHardwareNetFlex3PSuffix      = "/P"
  814.     ProductHardwareNetFlex3ESuffix      = "/E"
  815.     ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  816.     ShellCodeErrorText      = "Shell Code Error."
  817.  
  818. [DialogConstantsENG]
  819.     Help        = "&Help"
  820.     Exit        = "Cancel"
  821.     OK          = "OK"
  822.     HelpContext = ""
  823.     Continue    = "Continue"
  824.     Cancel      = "Cancel"
  825.  
  826.  
  827.  
  828.  
  829.  
  830.  
  831.  
  832.  
  833.  
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842.  
  843.  
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.